home *** CD-ROM | disk | FTP | other *** search
- package com.extensibility.xa;
-
- import com.extensibility.xml.DTDParser;
- import java.util.Enumeration;
- import javax.swing.text.AbstractDocument;
- import javax.swing.text.AttributeSet;
- import javax.swing.text.BadLocationException;
- import javax.swing.text.DefaultStyledDocument;
-
- public class ContentModelQlicker$CMDocument extends DefaultStyledDocument {
- // $FF: synthetic field
- final ContentModelQlicker this$0;
-
- public ContentModelQlicker$CMDocument(ContentModelQlicker var1) {
- this.this$0 = var1;
- }
-
- public void hopTerm(int var1, AttributeSet var2) throws BadLocationException {
- boolean var5 = false;
- boolean var6 = false;
- int var7 = var1 + this.this$0.textLastSelected.length();
- super.insertString(var1, this.this$0.textLastSelected, var2);
- int var9 = ((AbstractDocument)this).getLength();
-
- int var4;
- for(var4 = var7 + 1; var4 < var9; ++var4) {
- char var3 = ((AbstractDocument)this).getText(var4, 1).charAt(0);
- if (DTDParser.isConnectorChar(var3)) {
- var5 = true;
- break;
- }
-
- if (!DTDParser.isNameChar(var3) && var3 != '(') {
- var6 = true;
- } else if (var6) {
- break;
- }
- }
-
- if (!var5) {
- char var14 = this.this$0.getConnector(this.this$0.getText(), var1, var7);
- super.insertString(var7, String.valueOf(var14).concat(String.valueOf(" ")), var2);
- this.this$0.setCaretPosition(var7 + 2);
- } else {
- while(var4 < var9) {
- char var12 = this.this$0.getText(var4, 1).charAt(0);
- if (var12 == '(' || DTDParser.isNameChar(var12)) {
- break;
- }
-
- ++var4;
- }
-
- int var10 = var4;
-
- for(int var11 = 0; var4 < var9; ++var4) {
- char var13 = ((AbstractDocument)this).getText(var4, 1).charAt(0);
- if (var13 == '(') {
- ++var11;
- } else {
- if (var13 == ')') {
- --var11;
- if (var11 == 0) {
- break;
- }
- }
-
- if (!DTDParser.isNameChar(var13) && var11 == 0) {
- break;
- }
- }
- }
-
- this.this$0.select(var10, var4);
- }
-
- }
-
- public void replaceString(int var1, int var2, String var3) throws BadLocationException {
- ((AbstractDocument)this).remove(var1, var2);
- this.insertString(var1, var3, (AttributeSet)null);
- }
-
- public void insertString(int var1, String var2, AttributeSet var3) throws BadLocationException {
- if (var2.length() != 1) {
- super.insertString(var1, var2, var3);
- } else {
- char var4 = var2.charAt(0);
- if (var4 == '\t') {
- this.hopTerm(var1, var3);
- } else {
- super.insertString(var1, var2, var3);
- this.this$0.textLastSelected = "";
- if (var4 == '(') {
- super.insertString(var1 + 1, ")", var3);
- this.this$0.setCaretPosition(var1 + 1);
- } else if (DTDParser.isNameChar(var4) && (var1 + 1 >= ((AbstractDocument)this).getLength() || !DTDParser.isNameChar(((AbstractDocument)this).getText(var1 + 1, 1).charAt(0)))) {
- int var5;
- for(var5 = var1; var5 >= 0; --var5) {
- char var6 = ((AbstractDocument)this).getText(var5, 1).charAt(0);
- if (!DTDParser.isNameChar(var6) && var6 != '%') {
- break;
- }
- }
-
- String var11 = ((AbstractDocument)this).getText(var5 + 1, var1 - var5);
- Enumeration var7 = (Enumeration)this.this$0.getDataSource().getQlickerData(this.this$0.mode == 1 ? "TYPES" : "AUTO_COMPLETE", Class.forName("java.util.Enumeration"));
-
- while(var7.hasMoreElements()) {
- String var8 = (String)var7.nextElement();
- String var9 = var8.substring(0, Math.min(var11.length(), var8.length()));
- if (var11.equals(var9)) {
- String var10 = var8.substring(var11.length());
- super.insertString(var1 + 1, var10, var3);
- this.this$0.select(var1 + 1, var1 + 1 + var10.length());
- return;
- }
- }
- }
-
- }
- }
- }
- }
-